package com.alks.function.data.dto.finance.fincons;

import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

import java.math.BigDecimal;
import java.util.Date;

/**
 * @Description: 费用明细
 */
@Getter
@Setter
@NoArgsConstructor
public class CostDetailsDto {

    @ApiModelProperty(value = "自增ID")
    private int id;

    @ApiModelProperty(value = "单据号码")
    private String slipNo;

    @DateTimeFormat("yyyy/MM/dd")
    @ApiModelProperty(value = "单据日期")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "Asia/Shanghai")
    private Date slipDate;

    @ApiModelProperty(value = "部门编号")
    private String deptNo;

    @ApiModelProperty(value = "指令号")
    private String lotNo;


    @ApiModelProperty(value = "制单日期")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "Asia/Shanghai")
    private Date sysDate;

    @ApiModelProperty(value = "送货单号")
    private String sendNo;

    @ApiModelProperty(value = "费用描述")
    private String costDesc;

    @ApiModelProperty(value = "数量")
    private BigDecimal qty;

    @ApiModelProperty(value = "单位")
    private String costUnit;

    @ApiModelProperty(value = "单价")
    private BigDecimal price;

    @ApiModelProperty(value = "金额")
    private BigDecimal amt;

    @ApiModelProperty(value = "类型编号")
    private String typeNo;

    @ApiModelProperty(value = "费用类型")
    private String typeName;

    @ApiModelProperty(value = "厂商ID")
    private String vendorNo;

    @ApiModelProperty(value = "厂商名称")
    private String vendorName;

    @ApiModelProperty(value = "结算方式")
    private String accountName;

    @ApiModelProperty(value = "结算月份")
    private String financeYymm;

    @ApiModelProperty(value = "备注")
    private String remark;

    @ApiModelProperty(value = "扣款")
    private String processStatus;

    @ApiModelProperty(value = "结算单号")
    private String balanceNo;

    @ApiModelProperty(value = "备注信息")
    private String remarkCw;

    @ApiModelProperty(value = "结算标志（为Y的不能删除）")
    private String cfmFlag;

    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "Asia/Shanghai")
    private Date cfmDate;

    private String cfmUser;

    private Integer item;

    private String companyId;

    private String sysUser;

    @ApiModelProperty(value = "金额总额")
    private BigDecimal countAmt;

}
